package org.grayrabbit.cloud.core.telnet;

public interface TelnetSessionController {
	public abstract TelnetSessionState createSessionState();

	public abstract void setSessionCallback(
			TelnetSessionCallback paramTelnetSessionCallback);

	public abstract void setPrintConfiguration(
			TelnetPrintConfiguration paramTelnetPrintConfiguration);

	public abstract void notifyConnectionEstablished();

	public abstract String getPrompt(TelnetSessionState paramTelnetSessionState);
	

	public abstract void notifyNewLine(
			TelnetSessionState paramTelnetSessionState, String paramString,
			int paramInt);

	public abstract void notifyControlChar(
			TelnetSessionState paramTelnetSessionState, String paramString,
			int paramInt, char paramChar);

	public abstract void notifyUp(TelnetSessionState paramTelnetSessionState,
			String paramString, int paramInt);

	public abstract void notifyDown(TelnetSessionState paramTelnetSessionState,
			String paramString, int paramInt);

	public abstract void notifyRight(
			TelnetSessionState paramTelnetSessionState, String paramString,
			int paramInt);

	public abstract void notifyLeft(TelnetSessionState paramTelnetSessionState,
			String paramString, int paramInt);

	public abstract void notifyTab(TelnetSessionState paramTelnetSessionState,
			String paramString, int paramInt);
}
